package ocio.services;

import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.Action;
//import java.util.Map;

import ocio.beans.Provincia;
import ocio.dao.ProvinciasDao;

/**
 * Clase encargada de ofrecer la lógica de negocio asociada a la clase Provincia.
 * Ofrece funciones CRUD para la gestión de provincias.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 * @version 1.0 13/05/2014
 * @see ocio.beans.Provincia
 * @see ocio.services.ServiceIF
 */
public class ProvinciaService implements ServiceIF {

	ProvinciasDao ProvinciaDao;
	
	public ProvinciaService (){
		ProvinciaDao = new ProvinciasDao();
	}
	
	@Override
	public boolean add(Action form) {	
		return true;
	}
 	
	
	public List<Object> searchByFields(Action form){
		return null;
		
	}  
	
	/**
	 * Solicita la lista de todas las provincias de la base de datos.
	 * @return listaProvincias Lista de todas las provincias de la base de datos.
	 */
	public List<Provincia> ListAllProvincias(){

		List<Provincia> listaProvincias = new ArrayList<Provincia>();
		listaProvincias = ProvinciaDao.getAll();			
	    return listaProvincias;
		
	}

	@Override
	public void update(Action form) {
	}
	
	/**
	 * Búsqueda de provincia por identificador.
	 * @param id identifificador en la base de datos de la provincia.
	 * @return p Objeto correspondiente a la provincia con el identificador dado.
	 */
	public Object searchById(int id){
		Provincia p;
		p = ProvinciaDao.findById(id);
		return p;
	}

	/**
	 * Borra la provincia.
	 * @param o Objeto correspondiente a la provincia que se quiere borrar.
	 */
	@Override
	public void delete(Object o) {
		Provincia p;
		p = (Provincia)o;
		ProvinciaDao.delete(p);
	}

}
